package com.lafengmaker.tool.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5Util {
	private final static String[] hexDigits = { "0", "1", "2", "3", "4", 
		   "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; 
	public static String getMD5str(String str){
		try {
			MessageDigest messageDigest= MessageDigest.getInstance("MD5"); 
			return byteArrayToHexString(messageDigest.digest(str.getBytes()));
		} catch (NoSuchAlgorithmException e) {
			return null;
		} 
	}
	private static String byteArrayToHexString(byte[] b) { 
		   StringBuffer resultSb = new StringBuffer(); 
		   for (int i = 0; i < b.length; i++) { 
		    resultSb.append(byteToHexString(b[i])); 
		   } 
		   return resultSb.toString(); 
		} 
		/** 将一个字节转化成十六进制形式的字符串 */ 
		private static String byteToHexString(byte b) { 
		   int n = b; 
		   if (n < 0) 
		    n = 256 + n; 
		   int d1 = n / 16; 
		   int d2 = n % 16; 
		   return hexDigits[d1] + hexDigits[d2]; 
		} 
		public static void main(String[] args) {
			String ss=System.currentTimeMillis()+"abc";
			System.out.println(getMD5str(ss));
			System.out.println(getMD5str("xxx"));
		}
}
